1
クエリパフォーマンス入門
DSAI2202Lesson 11: Correct Answer, Terrible Query
00:00

データベース管理において、正しい論理結果を得ることは目標の半分に過ぎません。 クエリパフォーマンス を理解することで、データベースがシステムリソースを無駄にすることなく、その結果を効率的に計算できるようになります。クエリは要求されたデータを正確に返せても、内部では非効率的に実行されている場合があります。

学習目標と背景

講義11 — 正しい答え、ひどいクエリ:動作するSQLを書くだけでは不十分であり、データベース開発者はクエリオプティマイザが内部でどのように操作を実行するかを理解する必要があることを強調しています。

クエリパフォーマンス入門どちらのアクセス経路も常に高速とは限りません。代表的なワークロードで計測してください。クエリパフォーマンス入門2つのクエリ手法は、異なるリソースコストで同一の出力データを生成します。クエリパフォーマンス入門AプランA: スキャンフルテーブルスキャン(数百万行)多数のデータページを読み取るBプランB: インデックス検索インデックス検索(直接アクセス)選択的なアクセスで処理量を削減できる場合がある出力最終結果テーブル同一の出力データどちらのアクセス経路も常に高速とは限りません。代表的なワークロードで計測してください。

核となる概念

  • 論理的正確性と実行パフォーマンス:データの返却に成功しても、効率的なリソース活用が保証されるわけではありません。機能的に同一の2つのクエリが、まったく同じ出力テーブルを生み出す一方で、CPU・メモリ・ディスクI/Oの消費量は大きく異なることがあります。
  • システムスケーラビリティへの影響:最適化されていないクエリはパフォーマンスのボトルネックとなり、同時利用者の応答を遅くし、サーバー負荷を高め、データベースサイズの増大に伴ってスムーズにスケールできなくなります。
  • 具体例:数百万行のテーブルから特定の顧客を検索する場合。不適切なクエリでは数秒かかるフルスキャンを強いられますが、最適化されたクエリでは数ミリ秒でレコードを取得できます。
補足ノート
講義11 — 正しい答え、ひどいクエリ:データベース開発者は実行計画を分析し、本番環境の高負荷下でもクエリが効率的にスケールすることを確認する必要があります。
Introduction to Query Performance